画布 1
Hash 函数与消息认证
  Hash
    单向散列函数
    input:消息
      output:Hash 值
        hash是有损的压缩
          鸽巢原理
      难以找到碰撞
    生日悖论
      只需23人，至少就有两个人生日相同的概率大于½
这个数比人们直觉小得多，因而称为生日悖论
      生日攻击告诉我们：为了能达到n-bit的安全性，你所选择的Hash函数的散列值长度应该是2n。
    构建Hash 函数
    著名的 Hash 函数
      MD5
          第一次在 PPT 上见到两颗星
      SHA-0,1,2,3,4
      现在 MD5,SHA-0,SHA-1 都凉了
      SHA-2-->比特币
  消息认证码 MAC
    不是口红,也不是笔记本
    保护"完整性"
      抗伪造
        不知道密钥就啥都干不了
        即便是知道大量的成对的消息和 MAC 也没卵用
    CBC-MAC
      CBC分组密码+MAC
        只对定长消息安全,因为如果攻击者
获取了任意消息 m=x1x2..xr-1的 MAC,Cr-1=CBC-MAC_K(x1,x2...xr-1)
    HMAC
      Hash+MAC
    其他
  消息认证
    数据源认证,保证传输的完整性,保证消息的发送来自指定发送者
    基于 MAC 认证
      防止篡改
      防冒充
      提供机密性的消息认证
          依赖两个密钥
  课后习题